【精选】【Python】数据分析.matplotlib.条形图案例处理 |
您所在的位置:网站首页 › 票房 翻译 › 【精选】【Python】数据分析.matplotlib.条形图案例处理 |
文章目录
数据分析-matplotlib.柱状\条形图案例处理一、纵向条形图二、横向条形图三、柱状图
数据分析-matplotlib.柱状\条形图案例处理
案例一: 假设你获取到了2017年内地电影票房前20的电影和电影票房数据,使用条形图绘制 一、纵向条形图1.纵向条形图: plt.barh() from matplotlib import pyplot as plt from matplotlib import font_manager #设置字体 my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc") #设置坐标 x = ["战狼2","速度与激情8","功夫瑜伽","西游记伏魔篇","变形金刚5\n:最后的骑士","摔跤吧!爸爸","加勒比海盗5:\n死无对证", "金刚:骷髅岛","极限特工:\n终极回归","生化危机6:\n终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:\n输死一战", "蜘蛛侠:\n英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",] y = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86, 6.58,6.23] #设置图片大小 plt.figure(figsize=(20,8),dpi=80) #绘制表格,调整刻度 plt.bar(range(len(x)),y,width=0.3) #plt.xticks(range(len(x)),x,rotation=45,fontproperties=my_font) #如果横坐标名称出现重叠不便于展示,并且旋转后依然不能解决问题,可在坐标内添加“\n”进行换行,如图:movie-1.png #但如果依然不能满足要求,可以尝试绘制横向条形图,见:matplotlib_05_01 plt.xticks(range(len(x)),x,fontproperties=my_font) #添加描述信息 plt.xlabel("电影名称",fontproperties=my_font) plt.ylabel("票房/亿元",fontproperties=my_font) plt.title("2017年内地电影票房前20的电影和电影票房数据",fontproperties=my_font) #绘制网格 plt.grid(alpha=0.3) #保存图片 plt.savefig("movie-1.png") #显示 plt.show()对x轴信息旋转处理:我们会发现电影名称有部分缺失* 2.横向条形图: plt.barh()
返回顶部 三、柱状图案例二: 假设知道几部电影在某三天的上映量,展示出电影本身票房以及同其他几部电影的票房对比 from matplotlib import pyplot as plt from matplotlib import font_manager #设置字体 my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc") #设置坐标轴 x = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"] y_20 = [15746,312,4497,319] y_21 = [12357,156,2045,168] y_22 = [2358,399,2358,362] bar_width = 0.2 x_20 = list(range(len(x))) x_21 = [i+bar_width for i in x_20] x_22 = [i+bar_width*2 for i in x_20] #设置大小 plt.figure(figsize=(20,8),dpi=80) #绘制 plt.bar(range(len(x)),y_20,width=bar_width,label="8月20日") plt.bar(x_21,y_21,width=bar_width,label="8月21日") plt.bar(x_22,y_22,width=bar_width,label="8月22日") #设置坐标信息 plt.xticks(x_21,x,fontproperties=my_font) #添加描述信息 plt.xlabel("电影名称",fontproperties=my_font) plt.ylabel("当日票房/万元",fontproperties=my_font) plt.title("8月份某3天4部电影各自票房变化",fontproperties=my_font) #绘制图例 plt.legend(prop=my_font) #展示 plt.show()返回顶部 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |